package com.sokobanboxpro.game.gameplay;

import com.sokobanboxpro.game.entity.ImageObj;
import com.sokobanboxpro.game.entity.Text;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.SlickException;

/**
 * Интерфейс игры.
 * Все кнопки управления, меню и т.д.
 * @author Esr
 */

public class Interface {
		/*
		 * Массив всех изображений
		 */
		private ImageObj[] imageObjs;
		/**
		 * Массив всех текстов
		 */
		private Text[] texts;
		/**
		 * Игра, к которой принадлежит интерфейс
		 */
		private Game game;

		/**
		 * Создание интерфейса
		 * @param game Игра, к которой принадлежит интерфейс
		 * @throws SlickException Если не смогли загрузить какое либо из изображений
		 */
		public void init(Game game) throws SlickException {

				texts = new Text[0];

				this.game = game;

				imageObjs = new ImageObj[4];
				imageObjs[0] = new ImageObj("resource/images/arrows.png", 700, 140);
				imageObjs[1] = new ImageObj("resource/images/back.png", 700, 40);
				imageObjs[2] = new ImageObj("resource/images/arrow-left.png", 700, 340);
				imageObjs[3] = new ImageObj("resource/images/arrow-right.png", 750, 340);


		}

			/**
		 * Обновление интерфейса
		 * @param gc
		 * @param delta Время прошедшее с предыдушего обновления
		 */
		public void update(GameContainer gc, int delta) {
		}
		
		/**
		 * Нажатие мыши или касание экрана
		 * @param x Координата x
		 * @param y Координата y
		 */
		public void mousePressed(int x, int y) {
		}
		
		/**
		 * Перемешение мыши или пальца
		 * @param oldx Начальная координата x
		 * @param oldy Начальная координата y
		 * @param newx Новая координата x
		 * @param newy Новая координата y
		 */
		public void mouseDragged(int oldx, int oldy, int newx, int newy) {
		}
		
		/**
		 * Получить изображения
		 * @return Массив изображений
		 */
		public ImageObj[] getImageObjs() {
				return imageObjs;
		}

		/**
		 * Получить массив текстов
		 * @return Массив текстов
		 */
		public Text[] getTexts() {
				return texts;
		}
}
